home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Explosion
/
Software Explosion (Fore-Matt Home Computing)(1996).iso
/
games
/
workbench
/
super_code
/
supercode2.05.dok
< prev
next >
Wrap
Text File
|
1994-07-30
|
21KB
|
424 lines
SuperCode Version 2.05 - Dokumentation 28.Juli 1994
Autor: Stefan Bodora
0. ▄ber den Status des Programms
Das Programm SuperCode Version 2.05 ist Freeware. Alle Rechte
bleiben beim Autor Stefan Bodora. Es ist nicht erlaubt, VerΣnde-
rungen an den zum Programmumfang geh÷renden Dateien vorzunehmen.
Dazu zΣhlt auch das Umbenennen der Dateien. Das Programm ist frei
kopierbar, solange folgende Regeln beachtet werden: Das Kopieren
im privaten Kreis ist erlaubt. Der Vertrieb per Datenfernⁿbertra-
gung ebenfalls. Das Programm kann in FD-Serien und deren CD-ROM-
Derivate aufgenommen werden. Der Autor wⁿrde es begrⁿ▀en, wenn er
darⁿber jeweils informiert werden wⁿrde. Jeder Vertrieb kommer-
zieller Art ist untersagt und Bedarf der schriftlichen Genehmigung
des Autors. Beim Kopieren des Programmes mⁿssen auf jeden Fall die
folgenen Dateien im Programmumfang enthalten sein:
SuperCode2.05 - Datei des ausfⁿhrbaren Programms
SuperCode2.05.info - Icondatei
SuperCode2.05.dok - diese Dokumentation
SuperCode2.05.dok.info - Icondatei
WIE BEI JEDER SOFTWARE KANN AUCH BEI DIESEM PROGRAMM KEINE GARAN-
TIE F▄R DAS EINWANDFREIE FUNKTIONIEREN GEGEBEN WERDEN. DER AUTOR
▄BERNIMMT DESHALB KEINE HAFTUNG F▄R SCH─DEN, DIE AM DATENBESTAND
DES BENUTZERS AUFTRETEN K╓NNTEN.
1. Programmfunktion
Bei SuperCode handelt es sich um ein Spiel α la Mastermind.
Hierbei geht es darum, mit m÷glichst wenig Versuchen oder in sehr
kurzer Zeit eine bestimmte Farbkombination herauszufinden. Dabei
erhΣlt man nach jedem Versuch einige Hinweise, die einem bei der
L÷sung helfen.
2. Features
- komplett in deutsch
- Nutzung des Default Public Screens
- Anpassung an Screenmode (SeitenverhΣltnis) des Screens
- Anpassung an voreingestellten Zeichensatz des Screens
- Anpassung an Farbtiefe des Screens
- Bedienung ⁿber Maus und Tastaturkombinationen m÷glich
- abspeicherbare Rangliste
- letzte Position des Fensters wird in den ToolTypes abgespei-
chert und bei Neustart wieder verwendet
- Fenster kann mittels ToolType-Eintrages zusΣtzlich vergr÷▀ert
werden
- lauffΣhig ab OS 2.04 (Version 37)
- lΣuft ab 512 KBytes RAM
3. Geschichte des Programms
Zu Urzeiten der Programmierversuche des Autors entstand eine
Version in AmigaBasic, die allerdings der aktuellen Version nur
noch in Hinsicht der Spielregeln Σhnlich und dazu noch gΣhnend
langsam war.
Die Version 1.00 wurde schlie▀lich 1993 in "C" geschrieben und
stellte sein erstes C-Projekt dar. Damals fand noch die Freeware-
Version des DICE C-Compilers Verwendung. Das Programm ÷ffnete sein
Fenster noch auf einem eigenen Bildschirm.
Die Version 1.10 behob ein paar harmlose Bugs und wurde so erwei-
tert, da▀ das Porgramm sein Fenster auch auf der Workbench ÷ffnen
konnte, sofern diese mindestens 16 Farben zur Verfⁿgung stellte.
Diese Version sollte es erm÷glichen, das Spiel auch auf AGA-Amigas
mit VGA-Aufl÷sungen oder auf Grafikkarten laufen zu lassen. Sie
stellte aber nur eine Zwischenl÷sung dar. Zum Beispiel war die An-
zeige je nach Aufl÷sung unnatⁿrlich verzerrt.
Die Version 2.00 wurde von grundauf neu entwickelt, nachdem sich
der Autor den Maxon C++ Compiler (Version 1.10.7) zulegte. Sie
hatte viele neue Features und sollte auf allen Amigas ab OS 2.04
lauffΣhig sein.
Die Version 2.01 behob einerseits einen Programmfehler, der das
System zum Absturz brachte, wenn die Icon-Datei nicht vorhanden
war. Es wurden weiterhin einige Optimierungen am Quelltext durch-
gefⁿhrt. Schlie▀lich wurde die M÷glichkeit geschaffen, das Fenster
zu vergr÷▀ern, wenn es notwendig sein sollte.
Die aktuelle Version 2.05 ist nun in der Lage, die Farben des De-
fault Public Screens an seine Bedⁿrfnisse anzupassen und die alten
Farben bei Programmende wiederherzustellen. Diese Funktion ist
ⁿber einen ToolType abstellbar.
Entwickelt wurde die aktuelle Programmversion auf einem AMIGA 1200
mit 2MB RAM und 170MB Harddisk unter OS/WB 3.0 (39.106/39.29).
4. Installation des Programms
Kopieren sie einfach das gesamte Verzeichnis (Schublade) oder
dessen Inhalt in ein Verzeichnis ihrer Wahl. Fertig.
5. Start des Programms
Zum Start klicken Sie einfach doppelt auf das Programmicon oder
Sie wechseln in der Shell in das Verzeichnis, indem sich das Pro-
gramm befindet und geben den Programmnamen ein:
> CD <Verzeichnis>/<Unterverzeichnis>/...
> SuperCode2.05
bzw.
> Run <NIL: >NIL: SuperCode2.05
Damit das Programm aber dann auch wirklich startet, ist davor
einiges zu beachten. ZunΣchst ben÷tigt das Programm die
mathieeedoubtrans.library
im LIBS:-Verzeichnis, da es auf einige Mathematikfunktionen des
Betriebs systems zugreift.
Als nΣchstes ist zu beachten, welchen Darstellungsmodus und wel-
che Ausma▀e der Default Public Screen (meistens der Workbench
Screen) besitzt. SuperCode skaliert nΣmlich sein Fenster, um die
Pixelverzerrungen, die bei verschiedenen Aufl÷sungen entstehen,
auszugleichen. Das ist erforderlich, um Quadrate auch wie Quadrate
aussehen zu lassen. Der Effekt der Verzerrung ist am besten zu se-
hen, wenn man den Bildschirmmodus des Workbenchscreens verΣndert -
vormals quadratische Icons sehen danach rechteckig aus. Je h÷her
nΣmlich die Aufl÷sung wird, umso kleiner mⁿssen natⁿrlich die Pi-
xel werden. Die Pixelausma▀e sollen einmal anhand der PAL-Bild-
schirmmodi veranschaulicht werden:
Lores Hires Superhires
ohne **************** ******** ****
Interlace **************** ******** ****
**************** ******** ****
**************** ******** ****
**************** ******** ****
**************** ******** ****
**************** ******** ****
**************** ******** ****
Interlace **************** ******** ****
**************** ******** ****
**************** ******** ****
**************** ******** ****
Es ist ersichtlich, das ein Pixel in SuperHires viermal schmaler
ist als der entsprechende Lores-Pixel. Ein Pixel im Interlace-Mo-
dus ist nur halb so hoch wie einer ohne Interlace. Eine Skalierung
ist nur dann notwendig, wenn sich das VerhΣltnis von Breite zu H÷-
he verΣndert, da das Programm davon ausgeht, da▀ ein LoRes-Pixel
(ohne Interlace) auf dem Monitor eine quadratische Form hat. Da-
raus folgt, da▀ das Fenster bei Lores ohne Interlace und Hires In-
terlace nicht skaliert werden mu▀, da die quadratische Form beibe-
halten wird. Bei SuperHires (ohne Interlace) dagegen wird das Fen-
ster viermal breiter, was aber dadurch kompensiert wird, da▀ ein
Standard-SuperHires-Screen ohnehin eine viermal h÷here horizontale
Aufl÷sung hat. Bei SuperHires Interlace ist das Fenster dagegen
nur doppelt so breit, da hier ein Pixel zwar ebenfalls viermal
schmaler ist aber dafⁿr die halbe H÷he hat.
Zu beachten ist noch, das der Default Public Screen duchaus
kleinere Ausma▀e haben kann, als durch die Aufl÷sung vorgeben. Zum
Beispiel ein Screen von 320x256 Punkten in SuperHires Interlace
mit 1280x512 Punkten Aufl÷sung. Manch mal wird es also n÷tig sein,
die Ausma▀e oder die Aufl÷sung des Screens zu verΣndern, damit das
Fenster von SuperCode auch darauf pa▀t. Die Anpassung an die Auf-
l÷sung sollte eigentlich mit allen Bildschirmmodi funktionieren.
Auch auf Grafikkarten mit Workbench-Emulation mⁿ▀te es funktionie-
ren.
Im Zuge der immer h÷heren Aufl÷sungen werden viele Anwender auch
gr÷▀ere ZeichensΣtze verwenden, um auf dem Monitor noch etwas er-
kennen zu k÷nnen. Dem trΣgt das Programm Rechnung indem es sich
immer an den entsprechenden Screen-Font anpa▀t. Dabei wird das
Fenster ebenfalls skaliert. Das Programm bietet allerdings nicht
die M÷glichkeit, auf einen kleineren Zeichensatz auszuweichen,
wenn der Screen fⁿr das Fenster zu klein sein sollte. Der Autor
ist davon ausgegangen, da▀ nur die Anwender gro▀e ZeichensΣtze
verwenden, die auch entsprechend gro▀e Aufl÷sungen oder Screens
verwenden. Andererseits ist das Programm so optimiert worden, da▀
es auf einem Hires-Screen (640x256) mit einem Font bis zur Gr÷▀e
von 15 Punkten sein Fenster ÷ffnen mⁿ▀te. Bei h÷heren Aufl÷sungen
kann der Zeichensatz entsprechend gr÷▀er gewΣhlt werden.
Zuletzt ist noch die Farbtiefe des Default Public Screens zu be-
achten. Sie sollte mindestens 2 Bitplanes (4 Farben) betragen. Am
besten sind mindestens 4 Bitplanes (16 Farben) da bei weniger Far-
ben die fehlenden Farbt÷ne als Muster emuliert werden. Muster
sollten nur bei flimmerfreien Aufl÷sungen oder bei gro▀formatigen
Monitoren verwendet werden.
6. Bediennung des Programms
6.1. Anzeigen und Ablauf des Spieles
Nachdem das Programm erfolgreich gestartet wurde, ÷ffnet sich
das Hauptfenster des Programms. Es sind drei umrahmte Bereiche und
zwei Gadgets zu erkennen. Den gr÷▀ten Teil des Fensters nimmt der
Kombinationsbereich ein. Hier werden in insgesamt 10 Versuchen die
gesuchten Kombinationen ermittelt. Rechts oben sieht man den Farb-
auswahlbereich mit insgesamt 8 Farbauswahlfeldern. Rechts unten
sieht man die vier L÷sungsfelder, in denen spΣter die gesuchte
Farbkombination angezeigt wird.
Um ein Spiel zu starten wΣhlt man die Funktion "Start". Dazu
klickt man auf das Gadget "Start", drⁿckt die Taste "s", wΣhlt den
Menupunkt "Spiel->Start" oder gibt die Tastenkombination "Rechte
Amiga + S" ein.
Nun erstellt das Programm eine vierstellige Farbkombination. Um
das Spiel einfacher zu gestalten, kommt keine der Farben doppelt
vor.
Nachdem dies geschehen ist, aktiviert das Programm das erste
Feld in der ersten Zeile des Kombinationsfeldes. Das ist daran zu
erkennen, da▀ das Feld jetzt "eingedrⁿckt" erscheint. Klicken sie
nun mit der Maus auf eines der Nachbarfelder, erscheint das Feld
wieder erh÷ht und das angeklickte Feld wird aktiviert. Mit den
Tasten "m" , "," , "." und "-" k÷nnen Sie die einzelnen Felder
ebenfalls aktivieren, wobei das "m" fⁿr das Feld am weitesten
links und das "-" demzufolge fⁿr das Feld am weitesten rechts
steht.
Wenn Sie in eines der Felder im Farbauswahlbereich klicken, er-
hΣlt immer das gerade aktive Feld die Farbe zugewiesen, die von
Ihnen angewΣhlt wurde. Man mu▀ also stets erst ein Feld aktivieren
und dann die gewⁿnschte Farbe anwΣhlen.
Man kann dem aktuellen Feld auch seine Farbe zuweisen, indem man
eine der Tasten von "1" bis "8" anwΣhlt. Die "1" steht dabei fⁿr
die Farbe oben links und die "8" fⁿr die Farbe unten rechts im
Farbauswahlbereich.
Hat man seine Wunschkombination erstellt mu▀ man dem Programm
mitteilen, da▀ es die Kombination auf seine Richtigkeit ⁿberprⁿ-
fen soll. Dazu klickt man auf das Gadget "Weiter", drⁿckt die Tas-
te "w", wΣhlt den Menⁿpunkt "Spiel->Weiter" oder gibt die Tasten-
kombination "Rechte Amiga + W" ein. Sollte beim ersten Versuch
noch eines der Felder leer sein, gibt das Programm eine entspre-
chende Meldung und aktiviert dieses Feld, damit der Benutzer gege-
benfalls eine Korrektur vornehmen kann. Eine Meldung erscheint
auch, wenn eine der Farben aus Versehen doppelt vorhanden sein
sollte. Hierbei wird das betreffende Feld jedoch nicht aktiviert,
sondern das zuletzt aktive Feld bleibt aktiv, da das Programm ja
nicht wissen kann, welches Feld geΣndert werden soll. Nachdem man
notwendige Korrekturen vorgenommen hat mu▀ man erneut die Funktion
"Weiter" anwΣhlen. Wenn das Programm danach nichts zu beanstanden
hat, vergleicht es die eingegebene Kombination mit der vom Pro-
gramm erstellten. Danach gibt es in dem Feld rechts neben den Kom-
binationsfeldern L÷sungshinweise. Es erscheinen entweder schwarze,
wei▀e oder gar keine KΣstchen. Ein schwarzes KΣstchen bedeutet,
da▀ eines der Felder der Farbkombination identisch mit einem in
der gesuchten Kombination ist, also eine richtige Farbe an der
richtigen Position aufweist. Ein wei▀es KΣstchen hingegen zeigt
an, da▀ ein Feld zwar eine Farbe hat, die auch in der gesuchten
Kombination vorkommt, aber leider an einer falschen Stelle steht.
Es erscheinen maximal 4 HinweiskΣstchen. Wenn die richtige Kombi-
nation gefunden wurde, sind demnach 4 schwarze KΣstchen zu sehen.
Nach der Kontrolle der Kombination wird immer das erste Feld der
nΣchsten Zeile aktiviert, solange bis man seine 10 Versuche hinter
sich hat oder die gesuchte Kombination gefunden hat. Mit Hilfe der
bisherigen L÷sungshinweise kann man in dieser Zeile weiter kombi-
nieren.
Oftmals kommt es vor, da▀ man in einem neuen Versuch nur einem
einzigen Feld eine neue Farbe zuweisen m÷chte. Dabei ist es oft
umstΣndlich, die Farben, die sich nicht verΣndern jedesmal neu
einzugeben. Als Abhilfe besitzt SuperCode das Feature, ab dem 2.
Versuch die Farben des letzten Versuchs in die genau darunter lie-
genden leeren Felder zu ⁿbernehmen sobald man die Funktion "Wei-
ter" gewΣhlt hat. Man mu▀ also nur noch die eine gewⁿnschte Farbe
verΣndern, die restlichen werden in die leeren Felder ⁿbernommen.
Wenn man eine Kombination erfolgreich gefunden hat, erhΣlt man
eine entsprechende Mitteilung mit der ben÷tigten Zeit in Sekunden.
Sollte man eine neue Rekordzeit haben erscheint nach dem Wegklik-
ken des Requesters ein Fenster, in dem man seinen Namen fⁿr die
Rangliste (oder auf Neudeutsch "Highscore") eingeben kann. Um das
Fenster zu schlie▀en drⁿcken Sie bei aktiviertem String-Gadget die
Returntaste oder klicken auf das Schlie▀sysmbol des Fensters
Wenn man die Kombination in 10 Versuchen nicht gefunden hat, er-
scheint ebenfalls eine Mitteilung und man erfΣhrt die bis hierher
ben÷tigte Zeit in Sekunden. Das Spiel ist nun beendet und man kann
erneut ein neues Spiel starten.
Auf jeden Fall wird nach Beendigung eines Spieles die gesuchte
Farbkombination angezeigt, damit man den Spielablauf noch einmal
nachvollziehen kann. Erst bei dem Start eines neuen Spieles werden
alle Anzeigen in ihren Ursprungszustand versetzt.
6.2. Abbruch eines laufenden Spieles
Dies ist m÷glich indem man die Funktion "Stop" wΣhlt. Dazu wΣhlt
man den Menⁿpunkt "Spiel->Stop" oder gibt die Tastenkombination
"Rechte Amiga + T" ein. Diese Funktion ist natⁿrlich nur bei einem
gerade laufenden Spiel anwΣhlbar. Die gesuchten Farben werden
hierbei jedoch nicht angezeigt.
6.3. Programminfo
▄ber die Funktion "▄ber" k÷nnen Sie sich ein kurzes Info zur ak-
tuellen Programmversion anzeigen lassen. WΣhlen Sie hierzu den Me-
nⁿpunkt "Spiel->▄ber..." oder geben Sie die Tastenkombination
"Rechte Amiga + ▄" ein. Diese Funktion ist nur anwΣhlbar, wenn ge-
rade kein Spiel am laufen ist.
6.4. Programm beenden
Um SuperCode zu beenden, wΣhlen Sie den Menⁿpunkt "Spiel->
Ende...", geben die Tastenkombination "Rechte Amiga + E" ein oder
klicken auf das Schlie▀symbol des Fensters. Nach einer Sicher-
heitsabfrage beendet sich dann das Programm.
6.5. Rangliste
Wenn Sie den Menⁿpunkt "Rangliste->Zeigen..." anwΣhlen oder die
Tastenkombination "Rechte Amiga + R" eingeben wird Ihnen in einem
neuen Fenster die aktuelle Rangliste angezeigt. Durch einen Klick
auf das Schlie▀gadget verschwindet das Fenster wieder.
Immer, wenn SuperCode beendet wird, speichert es die aktuelle
Rangliste automatisch in der Datei "SuperCode.dat" in dem Ver-
zeichnis, in dem sich auch die gestartete Programmdatei von Super-
Code befand, ab. Wenn Sie die Rangliste l÷schen wollen, k÷nnen Sie
einfach diese Datei l÷schen. Das Programm findet die Datei beim
nΣchsten Start nicht mehr und verwendet fⁿr die aktuelle Rangliste
eine interne Vorgabe mit einfachen Werten.
6.6. Fensterposition
Wie bereits am Anfang erwΣhnt wurde, speichert das Programm beim
Beenden auch die letzte Fensterposition ab. Diese Werte finden
sich danach in den Tooltypes "WINDOWLEFTEDGE=" und "WINDOWTOPEDGE="
wieder. Sie k÷nnen die Zahlenwerte nach Belieben Σndern und so an
Ihre Bedⁿrfnisse anpassen oder auch die Tooltypes l÷schen. Im
letzteren Fall positioniert das Betriebssystem das Fenster fⁿr die
jeweils nicht angegebene Koordinate.
6.7. Skalierung des Fensters
Ab Version 2.01 ist es m÷glich, das Programmfenster mittels ei-
nes ToolType-Eintrages zusΣtzlich zu vergr÷▀ern. Dies ist manchmal
n÷tig, wenn bei sehr hohen Aufl÷sungen sehr kleine ZeichensΣtze
verwendet werden. Das hat zur Folge, da▀ das Fenster nicht vergr÷-
▀ert wird, da dies ja nur bei gro▀en ZeichensΣtzen geschieht. Da-
bei k÷nnen die Gadgets natⁿrlich zum Teil sehr klein auf dem Moni-
tor erscheinen und die Bedienung wird umstΣndlicher, von der Un-
terscheidung der einzelnen Farben ganz zu schweigen.
Jetzt ist es m÷glich, das Fenster von 100% bis 500% zu skalie-
ren. Tragen Sie dazu den reinen Zahlenwert hinter dem ToolType
"WINDOWSCALING=" ein. Sollten die Werte unsinnig oder zu gro▀ ge-
wΣhlt worden sein, steht beim nΣchsten Programmstart wieder der
Defaultwert "100" dahinter. Bitte beachten Sie hierbei, da▀ sich
die 100% auf die Gr÷▀e eines bereits an Aufl÷sung und Zeichensatz
angepa▀ten Fensters beziehen.
6.8. FarbΣnderungen beim Programmstart
WΣhrend der Entwicklungsphase des Programmes stie▀ der Autor auf
das Problem, da▀ die Farbpalette des Workbench-Bildschirms bei
manchen Anwendern so schlecht gewΣhlt sein kann, insbesondere,
wenn die Workbench ein Hintergrundbild geladen hat, da▀ die Farben
der Farbkombinationen nur sehr schwer zu unterscheiden sind. Dem
wird ab der Version 2.05 entgegengewirkt indem das Programm beim
Starten die Farben des Public Screens verΣndert. Normalerweise
sollen sich Gastprogramme auf einem Pubscreen nicht derma▀en ver-
halten. Deshalb stellt SuperCode jedesmal, wenn das Fenster deak-
tiviert wird die alte Bildschirmpalette wieder her. Wenn das Fen-
ster aktiviert wird, werden wieder die eigenen Farben benutzt.
Es wird immer die Farbpalette restauriert, die der Screen vor der
erneuten Aktivierung des Fensters hatte.
Ein Problem kann hierbei jedoch auftreten, wenn man zwei Super-
Code-Fenster, aus welchem Grund auch immer, auf demselben Public
Screen ge÷ffnet hat. Wenn man nΣmlich mit der Maus direkt von ei-
nem Fenster in das andere klickt, nimmt das Programm mit dem akti-
vierten Fenster an, da▀ die vom anderen Programm eingestellten
Farben die originalen Farben des Screens sind, da da▀ Programm,
dessen Fenster deaktiviert wurde die alten Farben nicht schnell
genug wiederherstellen konnte. Wenn jetzt die beiden Programme
beendet werden stellt jedes die Screenfarben auf die SuperCode-
Farben, da es ja davon ausgeht, da▀ das die Originalfarben sind.
Um die FarbΣnderung total abzuschalten k÷nnen sie dem Programm-
icon das Tooltype "DONOTCHANGECOLORS" hinzufⁿgen.
7. Kontake, Bug-Reports und mehr
Sollten bei Benutzung des Programms irgendwelche Fragen oder
Probleme, besonders bei Verwendung von Grafikkarten, auftreten
oder das Programm fehlerhaft arbeiten, k÷nnen Sie sich an folgen-
de Adresse wenden:
Stefan Bodora
Teterower Ring 96
12619 Berlin
Der Autor ist jederzeit offen fⁿr ─nderungsvorschlΣge oder Anre-
gungen. Er sucht stΣndig Kontakt zu anderen C- und besonders C++ -
Programmierern. Sollte jemand Interesse am Sourcecode des Program-
mes haben, kann er sich an den Autor wenden.
Der Autor dankt Ch. Rickers fⁿr das Testen des Programms und fⁿr
die Unterstⁿtzung, die er durch ihn erfahren hat.
Viel Spa▀ mit dem Programm!